package ufc.sd.entities;

import java.util.Date;

import ufc.sd.util.Util;

public class Aluno {
	private String matricula;
	private String nomeCompleto;
	private Date dataNascimento;
	private Curso cursoMatriculado;
	private transient String dataNascimentoString;

	public Aluno() {
	}

	public Aluno(String matricula, String nomeCompleto, Date dataNascimento, Curso cursoMatriculado) {
		super();
		this.matricula = matricula;
		this.nomeCompleto = nomeCompleto;
		this.dataNascimento = dataNascimento;
		this.cursoMatriculado = cursoMatriculado;
	}

	public String getMatricula() {
		return matricula;
	}

	public void setMatricula(String matricula) {
		this.matricula = matricula;
	}

	public String getNomeCompleto() {
		return nomeCompleto;
	}

	public void setNomeCompleto(String nomeCompleto) {
		this.nomeCompleto = nomeCompleto;
	}

	public void setDataNascimento(Date dataNascimento) {
		this.dataNascimento = dataNascimento;
		dataNascimentoString = Util.formatDate(dataNascimento);
	}

	public Date getDataNascimento() {
		return dataNascimento;
	}

	public void setCursoMatriculado(Curso cursoMatriculado) {
		this.cursoMatriculado = cursoMatriculado;
	}

	public Curso getCursoMatriculado() {
		return cursoMatriculado;
	}

	public static Aluno getAlunoByNomeCompleto(String nomeCompleto) {
		return null;
	}

	public void setDataNascimentoString(String dataNascimentoString) {
		this.dataNascimentoString = dataNascimentoString;
	}

	public String getDataNascimentoString() {
		return dataNascimentoString;
	}

	public String getDescricaoCurso() {
		if (cursoMatriculado != null && cursoMatriculado.getNome() != null && cursoMatriculado.getCentro() != null) {
			return cursoMatriculado.getNome() + " - " + cursoMatriculado.getCentro();
		}
		return "";
	}
}
